package org.dei.perla.sys.device.fpc.dspic.datastructures;

import org.dei.perla.utils.dataconverter.annotations.FixedLengthArray;
import org.dei.perla.utils.dataconverter.annotations.SimpleField;
import org.dei.perla.utils.dataconverter.annotations.StructInfo;
import org.dei.perla.utils.dataconverter.enums.Endianness;
import org.dei.perla.utils.dataconverter.enums.Sign;

@StructInfo(endianness = Endianness.LITTLE_ENDIAN)
public class MRP {

	@SimpleField(size = 2, sign = Sign.UNSIGNED)
	private int acquisitionType;

	@SimpleField(size = 2, sign = Sign.UNSIGNED)
	private int command;

	@SimpleField(size = 2, sign = Sign.UNSIGNED)
 	private int rs1;

	@SimpleField(size = 2, sign = Sign.UNSIGNED)
	private int rs2;

	@SimpleField(size = 2, sign = Sign.UNSIGNED)
	private int rs3;

	@SimpleField(size = 2, sign = Sign.UNSIGNED)
	private int rs4;

	@SimpleField(size = 2, sign = Sign.UNSIGNED)
	private int gx;

	@SimpleField(size = 2, sign = Sign.UNSIGNED)
	private int gy;

	@SimpleField(size = 2, sign = Sign.UNSIGNED)
	private int gz;

	@SimpleField(size = 2, sign = Sign.UNSIGNED)
	private int thupX;

	@SimpleField(size = 2, sign = Sign.UNSIGNED)
	private int thupY;

	@SimpleField(size = 2, sign = Sign.UNSIGNED)
	private int thupZ;

	@SimpleField(size = 2, sign = Sign.UNSIGNED)
	private int thdwX;

	@SimpleField(size = 2, sign = Sign.UNSIGNED)
	private int thdwY;

	@SimpleField(size = 2, sign = Sign.UNSIGNED)
	private int thdwZ;
	
	@FixedLengthArray(length = 64, padding = 0)
	@SimpleField(size = 2, sign = Sign.SIGNED)
	private int[] taps;
	
	public MRP() {
		
	}
	
	public int getAcquisitionType() {
		return acquisitionType;
	}

	public void setAcquisitionType(int acquisitionType) {
		this.acquisitionType = acquisitionType;
	}

	public int getCommand() {
		return command;
	}

	public void setCommand(int command) {
		this.command = command;
	}

	public int getRs1() {
		return rs1;
	}

	public void setRs1(int rs1) {
		this.rs1 = rs1;
	}

	public int getRs2() {
		return rs2;
	}

	public void setRs2(int rs2) {
		this.rs2 = rs2;
	}

	public int getRs3() {
		return rs3;
	}

	public void setRs3(int rs3) {
		this.rs3 = rs3;
	}

	public int getRs4() {
		return rs4;
	}

	public void setRs4(int rs4) {
		this.rs4 = rs4;
	}

	public int getGx() {
		return gx;
	}

	public void setGx(int gx) {
		this.gx = gx;
	}

	public int getGy() {
		return gy;
	}

	public void setGy(int gy) {
		this.gy = gy;
	}

	public int getGz() {
		return gz;
	}

	public void setGz(int gz) {
		this.gz = gz;
	}

	public int getThupX() {
		return thupX;
	}

	public void setThupX(int thupX) {
		this.thupX = thupX;
	}

	public int getThupY() {
		return thupY;
	}

	public void setThupY(int thupY) {
		this.thupY = thupY;
	}

	public int getThupZ() {
		return thupZ;
	}

	public void setThupZ(int thupZ) {
		this.thupZ = thupZ;
	}

	public int getThdwX() {
		return thdwX;
	}

	public void setThdwX(int thdwX) {
		this.thdwX = thdwX;
	}

	public int getThdwY() {
		return thdwY;
	}

	public void setThdwY(int thdwY) {
		this.thdwY = thdwY;
	}

	public int getThdwZ() {
		return thdwZ;
	}

	public void setThdwZ(int thdwZ) {
		this.thdwZ = thdwZ;
	}
	
	public int[] getTaps() {
		return taps;
	}

	public void setTaps(int[] taps) {
		this.taps = taps;
	}
}
